package com.ruoyi.common.core.domain.entity.socket.bean;

import com.ruoyi.common.constant.socket.DeviceTypeContant;
import lombok.Data;
import lombok.ToString;

@Data
@ToString(callSuper = true)
public class BoatRegisterInfo extends BaseDataPiece {

    /**
     * 配置读操作。0：无操作，1：配置读，3：无效值
     */
    private byte readFlag;

    /**
     * 配置报文应答。0：无操作，1：报文应答，2：报文未应答，3：无效值
     */
    private byte responseFlag;
    /**
     * 船只出厂注册id。
     */
    private String boatIdentityId;

    /**
     * BoatRegisterInfo对象构造方法。
     *
     * @param deviceCode 设备编号。0-254。常见取值有：0，1等。
     */
    public BoatRegisterInfo(byte deviceCode) {
        super(deviceCode);
    }

    public BoatRegisterInfo(byte systemCode, byte deviceCode) {
        super(systemCode, deviceCode);
    }

    @Override
    public int getDataPieceLength() {
        return 34; //船只注册信息数据段占35个字节(1+1+2+1+2+1+3+1+1+6+16=11+24)。从段分隔符','开始算起。
    }

    @Override
    public void setDeviceType() {
        deviceType = DeviceTypeContant.BoatRegisterInfo;
    }
}
